有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaSQLLite平均分数

PreStatement = myConnection.prepareStatement(""
                        + "SELECT Game1.AVG(Score),Students.FirstName,Students.LastName "
                        + "FROM Game1 " 
                        + "INNER JOIN Students " 
                        + "ON Game1.StudentID = Students.StudentID " 
                        + "ORDER BY Students.FirstName ASC;");

这是一项艰巨的工作。(错误定义为平均分数部分)
但这是真的

PreStatement = myConnection.prepareStatement(""
                        + "SELECT AVG(Score),
                        + "FROM Game1 " 

是我做错了什么,还是我要做两次陈述才能得到平均分数


共 (2) 个答案

  1. # 1 楼答案

    如果你想要每个学生的平均数,那么你应该使用GROUP BY

    SELECT AVG(g.Score), s.FirstName, s.LastName
    FROM Game1 g INNER JOIN
         Students s
         ON g.StudentID = s.StudentID 
    GROUP BY s.FirstName, s.LastName
    ORDER BY s.FirstName ASC;
    

    表别名还使查询更易于编写和读取

  2. # 2 楼答案

    试试这个

    PreStatement = myConnection.prepareStatement(""
                            + "SELECT AVG(Game1.Score),Students.FirstName,Students.LastName "
                            + "FROM Game1 " 
                            + "INNER JOIN Students " 
                            + "ON Game1.StudentID = Students.StudentID " 
                            + "ORDER BY Students.FirstName ASC;");